A typical computer can be comprised of a many different hardware and software components. A particular software component, called an operating system, acts an interface between a computer's user and the computer's hardware components. As an interface, the operating system is generally responsible for coordinating and manipulating the computer's hardware components to perform an operation requested by the user. The operating system achieves these goals by using communication protocols which allow for interaction between a computer's software (e.g., the operating system) and hardware components. Communication protocols allow the operating system to provide operating instructions to the hardware such as when to turn on, when to turn off, at what speed to operate, etc.